﻿var textboxId;
var turnOffYearSpan = false;
var weekStartsOnSunday = false;
var showWeekNumber = true;
var languageCode = 'vi';
var calendar_display_time = true;
var todayStringFormat = '[todayString] [UCFdayString], [day], [monthString] [year]';
var pathToImages = './Images/Icon/';
var speedOfSelectBoxSliding = 200;
var intervalSelectBox_minutes = 5;
var calendar_offsetTop = 0;
var calendar_offsetLeft = 0;
var calendarDiv = false;
var MSIE = false;
var Opera = false;
if (navigator.userAgent.indexOf('MSIE') >= 0 && navigator.userAgent.indexOf('Opera') < 0) MSIE = true;
if (navigator.userAgent.indexOf('Opera') >= 0) Opera = true;
switch (languageCode) {
    case "en":
        var monthArray = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
        var monthArrayShort = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
        var dayArray = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
        var weekString = 'Week'; var todayString = '';
        break;
    case "vi":
        var monthArray = ['Tháng Giêng', 'Tháng Hai', 'Tháng Ba', 'Tháng Tư', 'Tháng Năm', 'Tháng Sáu', 'Tháng Bảy', 'Tháng Tám', 'Tháng Chín', 'Tháng Mười', 'Tháng Mười Một', 'Tháng Mười Hai'];
        var monthArrayShort = ['Tháng Giêng', 'Tháng Hai', 'Tháng Ba', 'Tháng Tư', 'Tháng Năm', 'Tháng Sáu', 'Tháng Bảy', 'Tháng Tám', 'Tháng Chín', 'Tháng Mười', 'Tháng Mười Một', 'Tháng Mười Hai'];
        var dayArray = ['Hai', 'Ba', 'Tư', 'Năm', 'Sáu', 'Bảy', 'CN'];
        var weekString = 'Tuần';
        var todayString = 'Hôm nay Thứ'; break;
}
if (weekStartsOnSunday) {
    var tempDayName = dayArray[6];
    for (var theIx = 6; theIx > 0; theIx--) {
        dayArray[theIx] = dayArray[theIx - 1];
    }
    dayArray[0] = tempDayName;
}
var daysInMonthArray = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var currentMonth;
var currentYear;
var currentHour;
var currentMinute;
var calendarContentDiv;
var returnDateTo;
var returnFormat;
var activeSelectBoxMonth;
var activeSelectBoxYear;
var activeSelectBoxHour;
var activeSelectBoxMinute;
var iframeObj = false;
var iframeObj2 = false;
function EIS_FIX_EI1(where2fixit) {
    if (!iframeObj2)
        return; iframeObj2.style.display = 'block';
    iframeObj2.style.height = document.getElementById(where2fixit).offsetHeight + 1;
    iframeObj2.style.width = document.getElementById(where2fixit).offsetWidth;
    iframeObj2.style.left = getleftPos(document.getElementById(where2fixit)) + 1 - calendar_offsetLeft;
    iframeObj2.style.top = getTopPos(document.getElementById(where2fixit)) - document.getElementById(where2fixit).offsetHeight - calendar_offsetTop;
}
function EIS_Hide_Frame()
{ if (iframeObj2) iframeObj2.style.display = 'none'; }
var returnDateToYear; var returnDateToMonth; var returnDateToDay; var returnDateToHour; var returnDateToMinute; var inputYear; var inputMonth; var inputDay; var inputHour; var inputMinute; var calendarDisplayTime = false; var selectBoxHighlightColor = '#D60808'; var selectBoxRolloverBgColor = '#E2EBED'; var selectBoxMovementInProgress = false; var activeSelectBox = false;

function cancelCalendarEvent()
{ return false; }

function isLeapYear(inputYear)
{ if (inputYear % 400 == 0 || (inputYear % 4 == 0 && inputYear % 100 != 0)) return true; return false; }
var activeSelectBoxMonth = false; var activeSelectBoxDirection = false; function highlightMonthYear() {
    if (activeSelectBoxMonth) activeSelectBoxMonth.className = ''; activeSelectBox = this; if (this.className == 'monthYearActive') { this.className = ''; } else { this.className = 'monthYearActive'; activeSelectBoxMonth = this; }
    if (this.innerHTML.indexOf('-') >= 0 || this.innerHTML.indexOf('+') >= 0) {
        if (this.className == 'monthYearActive')
            selectBoxMovementInProgress = true; else
            selectBoxMovementInProgress = false; if (this.innerHTML.indexOf('-') >= 0) activeSelectBoxDirection = -1; else activeSelectBoxDirection = 1;
    } else selectBoxMovementInProgress = false;
}
function showMonthDropDown() {
    if (document.getElementById('monthDropDown').style.display == 'block') { document.getElementById('monthDropDown').style.display = 'none'; EIS_Hide_Frame(); } else {
        document.getElementById('monthDropDown').style.display = 'block'; document.getElementById('yearDropDown').style.display = 'none'; document.getElementById('hourDropDown').style.display = 'none'; document.getElementById('minuteDropDown').style.display = 'none'; if (MSIE)
        { EIS_FIX_EI1('monthDropDown') } 
    } 
}
function showYearDropDown() {
    if (document.getElementById('yearDropDown').style.display == 'block') { document.getElementById('yearDropDown').style.display = 'none'; EIS_Hide_Frame(); } else {
        document.getElementById('yearDropDown').style.display = 'block'; document.getElementById('monthDropDown').style.display = 'none'; document.getElementById('hourDropDown').style.display = 'none'; document.getElementById('minuteDropDown').style.display = 'none'; if (MSIE)
        { EIS_FIX_EI1('yearDropDown') } 
    } 
}
function showHourDropDown() {
    if (document.getElementById('hourDropDown').style.display == 'block') { document.getElementById('hourDropDown').style.display = 'none'; EIS_Hide_Frame(); } else {
        document.getElementById('hourDropDown').style.display = 'block'; document.getElementById('monthDropDown').style.display = 'none'; document.getElementById('yearDropDown').style.display = 'none'; document.getElementById('minuteDropDown').style.display = 'none'; if (MSIE)
        { EIS_FIX_EI1('hourDropDown') } 
    } 
}
function showMinuteDropDown() {
    if (document.getElementById('minuteDropDown').style.display == 'block') { document.getElementById('minuteDropDown').style.display = 'none'; EIS_Hide_Frame(); } else {
        document.getElementById('minuteDropDown').style.display = 'block'; document.getElementById('monthDropDown').style.display = 'none'; document.getElementById('yearDropDown').style.display = 'none'; document.getElementById('hourDropDown').style.display = 'none'; if (MSIE)
        { EIS_FIX_EI1('minuteDropDown') } 
    } 
}
function selectMonth() {
    document.getElementById('calendar_month_txt').innerHTML = this.innerHTML
    currentMonth = this.id.replace(/[^\d]/g, ''); document.getElementById('monthDropDown').style.display = 'none'; EIS_Hide_Frame(); for (var no = 0; no < monthArray.length; no++) { document.getElementById('monthDiv_' + no).style.color = ''; }
    this.style.color = selectBoxHighlightColor; activeSelectBoxMonth = this; writeCalendarContent();
}
function selectHour() {
    document.getElementById('calendar_hour_txt').innerHTML = this.innerHTML
    currentHour = this.innerHTML.replace(/[^\d]/g, ''); document.getElementById('hourDropDown').style.display = 'none'; EIS_Hide_Frame(); if (activeSelectBoxHour) { activeSelectBoxHour.style.color = ''; }
    activeSelectBoxHour = this; this.style.color = selectBoxHighlightColor;
}
function selectMinute() {
    document.getElementById('calendar_minute_txt').innerHTML = this.innerHTML
    currentMinute = this.innerHTML.replace(/[^\d]/g, ''); document.getElementById('minuteDropDown').style.display = 'none'; EIS_Hide_Frame(); if (activeSelectBoxMinute) { activeSelectBoxMinute.style.color = ''; }
    activeSelectBoxMinute = this; this.style.color = selectBoxHighlightColor;
}
function selectYear() {
    document.getElementById('calendar_year_txt').innerHTML = this.innerHTML
    currentYear = this.innerHTML.replace(/[^\d]/g, ''); document.getElementById('yearDropDown').style.display = 'none'; EIS_Hide_Frame(); if (activeSelectBoxYear) { activeSelectBoxYear.style.color = ''; }
    activeSelectBoxYear = this; this.style.color = selectBoxHighlightColor; writeCalendarContent();
}
function switchMonth() {
    if (this.src.indexOf('left') >= 0) { currentMonth = currentMonth - 1; ; if (currentMonth < 0) { currentMonth = 11; currentYear = currentYear - 1; } } else { currentMonth = currentMonth + 1; ; if (currentMonth > 11) { currentMonth = 0; currentYear = currentYear / 1 + 1; } }
    writeCalendarContent();
}
function createMonthDiv() {
    var div = document.createElement('DIV'); div.className = 'monthYearPicker'; div.id = 'monthPicker'; for (var no = 0; no < monthArray.length; no++) { var subDiv = document.createElement('DIV'); subDiv.innerHTML = monthArray[no]; subDiv.onmouseover = highlightMonthYear; subDiv.onmouseout = highlightMonthYear; subDiv.onclick = selectMonth; subDiv.id = 'monthDiv_' + no; subDiv.style.width = '90px'; subDiv.onselectstart = cancelCalendarEvent; div.appendChild(subDiv); if (currentMonth && currentMonth == no) { subDiv.style.color = selectBoxHighlightColor; activeSelectBoxMonth = subDiv; } }
    return div;
}
function changeSelectBoxYear(e, inputObj) {
    if (!inputObj) inputObj = this; var yearItems = inputObj.parentNode.getElementsByTagName('DIV'); if (inputObj.innerHTML.indexOf('-') >= 0) { var startYear = yearItems[1].innerHTML / 1 - 1; if (activeSelectBoxYear) { activeSelectBoxYear.style.color = ''; } } else { var startYear = yearItems[1].innerHTML / 1 + 1; if (activeSelectBoxYear) { activeSelectBoxYear.style.color = ''; } }
    for (var no = 1; no < yearItems.length - 1; no++) { yearItems[no].innerHTML = startYear + no - 1; yearItems[no].id = 'yearDiv' + (startYear / 1 + no / 1 - 1); }
    if (activeSelectBoxYear) { activeSelectBoxYear.style.color = ''; if (document.getElementById('yearDiv' + currentYear)) { activeSelectBoxYear = document.getElementById('yearDiv' + currentYear); activeSelectBoxYear.style.color = selectBoxHighlightColor; ; } } 
}
function changeSelectBoxHour(e, inputObj) {
    if (!inputObj) inputObj = this; var hourItems = inputObj.parentNode.getElementsByTagName('DIV'); if (inputObj.innerHTML.indexOf('-') >= 0) { var startHour = hourItems[1].innerHTML / 1 - 1; if (startHour < 0) startHour = 0; if (activeSelectBoxHour) { activeSelectBoxHour.style.color = ''; } } else { var startHour = hourItems[1].innerHTML / 1 + 1; if (startHour > 14) startHour = 14; if (activeSelectBoxHour) { activeSelectBoxHour.style.color = ''; } }
    var prefix = ''; for (var no = 1; no < hourItems.length - 1; no++) { if ((startHour / 1 + no / 1) < 11) prefix = '0'; else prefix = ''; hourItems[no].innerHTML = prefix + (startHour + no - 1); hourItems[no].id = 'hourDiv' + (startHour / 1 + no / 1 - 1); }
    if (activeSelectBoxHour) { activeSelectBoxHour.style.color = ''; if (document.getElementById('hourDiv' + currentHour)) { activeSelectBoxHour = document.getElementById('hourDiv' + currentHour); activeSelectBoxHour.style.color = selectBoxHighlightColor; ; } } 
}
function updateYearDiv() {
    var yearSpan = 5;
    if (turnOffYearSpan) {
        yearSpan = 0;
    }
    var div = document.getElementById('yearDropDown');
    var yearItems = div.getElementsByTagName('DIV');
    for (var no = 1; no < yearItems.length - 1; no++) {
        yearItems[no].innerHTML = currentYear / 1 - yearSpan + no;
        if (currentYear == (currentYear / 1 - yearSpan + no)) {
            yearItems[no].style.color = selectBoxHighlightColor;
            activeSelectBoxYear = yearItems[no];
        }
        else {
            yearItems[no].style.color = '';
        }
    }
}
function updateMonthDiv() {
    for (no = 0; no < 12; no++) {
        document.getElementById('monthDiv_' + no).style.color = '';
    }
    document.getElementById('monthDiv_' + currentMonth).style.color = selectBoxHighlightColor;
    activeSelectBoxMonth = document.getElementById('monthDiv_' + currentMonth);
}
function updateHourDiv() {
    var div = document.getElementById('hourDropDown');
    var hourItems = div.getElementsByTagName('DIV');
    var addHours = 0;
    if ((currentHour / 1 - 6 + 1) < 0) {
        addHours = (currentHour / 1 - 6 + 1) * -1;
    }
    for (var no = 1; no < hourItems.length - 1; no++) {
        var prefix = '';
        if ((currentHour / 1 - 6 + no + addHours) < 10)
            prefix = '0';
        hourItems[no].innerHTML = prefix + (currentHour / 1 - 6 + no + addHours);
        if (currentHour == (currentHour / 1 - 6 + no)) {
            hourItems[no].style.color = selectBoxHighlightColor; activeSelectBoxHour = hourItems[no];
        }
        else {
            hourItems[no].style.color = '';
        }
    }
}
function updateMinuteDiv() {
    for (no = 0; no < 60; no += intervalSelectBox_minutes) {
        var prefix = '';
        if (no < 10)
            prefix = '0';
        document.getElementById('minuteDiv_' + prefix + no).style.color = '';
    }
    if (document.getElementById('minuteDiv_' + currentMinute)) {
        document.getElementById('minuteDiv_' + currentMinute).style.color = selectBoxHighlightColor;
        activeSelectBoxMinute = document.getElementById('minuteDiv_' + currentMinute);
    }
}
function createYearDiv() {
    if (!document.getElementById('yearDropDown')) { var div = document.createElement('DIV'); div.className = 'monthYearPicker'; } else { var div = document.getElementById('yearDropDown'); var subDivs = div.getElementsByTagName('DIV'); for (var no = 0; no < subDivs.length; no++) { subDivs[no].parentNode.removeChild(subDivs[no]); } }
    var d = new Date(); if (currentYear) { d.setFullYear(currentYear); }
    var startYear = d.getFullYear() / 1 - 5; var yearSpan = 10; if (!turnOffYearSpan) { var subDiv = document.createElement('DIV'); subDiv.innerHTML = '&nbsp;&nbsp;- '; subDiv.onclick = changeSelectBoxYear; subDiv.onmouseover = highlightMonthYear; subDiv.onmouseout = function () { selectBoxMovementInProgress = false; }; subDiv.onselectstart = cancelCalendarEvent; div.appendChild(subDiv); } else { startYear = d.getFullYear() / 1 - 0; yearSpan = 2; }
    for (var no = startYear; no < (startYear + yearSpan); no++) { var subDiv = document.createElement('DIV'); subDiv.innerHTML = no; subDiv.onmouseover = highlightMonthYear; subDiv.onmouseout = highlightMonthYear; subDiv.onclick = selectYear; subDiv.id = 'yearDiv' + no; subDiv.onselectstart = cancelCalendarEvent; div.appendChild(subDiv); if (currentYear && currentYear == no) { subDiv.style.color = selectBoxHighlightColor; activeSelectBoxYear = subDiv; } }
    if (!turnOffYearSpan) { var subDiv = document.createElement('DIV'); subDiv.innerHTML = '&nbsp;&nbsp;+ '; subDiv.onclick = changeSelectBoxYear; subDiv.onmouseover = highlightMonthYear; subDiv.onmouseout = function () { selectBoxMovementInProgress = false; }; subDiv.onselectstart = cancelCalendarEvent; div.appendChild(subDiv); }
    return div;
}
function slideCalendarSelectBox() {
    if (selectBoxMovementInProgress) {
        if (activeSelectBox.parentNode.id == 'hourDropDown') { changeSelectBoxHour(false, activeSelectBox); }
        if (activeSelectBox.parentNode.id == 'yearDropDown') { changeSelectBoxYear(false, activeSelectBox); } 
    }
    setTimeout('slideCalendarSelectBox()', speedOfSelectBoxSliding);
}
function createHourDiv() {
    if (!document.getElementById('hourDropDown')) { var div = document.createElement('DIV'); div.className = 'monthYearPicker'; } else { var div = document.getElementById('hourDropDown'); var subDivs = div.getElementsByTagName('DIV'); for (var no = 0; no < subDivs.length; no++) { subDivs[no].parentNode.removeChild(subDivs[no]); } }
    if (!currentHour) currentHour = 0; var startHour = currentHour / 1; if (startHour > 14) startHour = 14; var subDiv = document.createElement('DIV'); subDiv.innerHTML = '&nbsp;&nbsp;- '; subDiv.onclick = changeSelectBoxHour; subDiv.onmouseover = highlightMonthYear; subDiv.onmouseout = function () { selectBoxMovementInProgress = false; }; subDiv.onselectstart = cancelCalendarEvent; div.appendChild(subDiv); for (var no = startHour; no < startHour + 10; no++) { var prefix = ''; if (no / 1 < 10) prefix = '0'; var subDiv = document.createElement('DIV'); subDiv.innerHTML = prefix + no; subDiv.onmouseover = highlightMonthYear; subDiv.onmouseout = highlightMonthYear; subDiv.onclick = selectHour; subDiv.id = 'hourDiv' + no; subDiv.onselectstart = cancelCalendarEvent; div.appendChild(subDiv); if (currentYear && currentYear == no) { subDiv.style.color = selectBoxHighlightColor; activeSelectBoxYear = subDiv; } }
    var subDiv = document.createElement('DIV'); subDiv.innerHTML = '&nbsp;&nbsp;+ '; subDiv.onclick = changeSelectBoxHour; subDiv.onmouseover = highlightMonthYear; subDiv.onmouseout = function () { selectBoxMovementInProgress = false; }; subDiv.onselectstart = cancelCalendarEvent; div.appendChild(subDiv); return div;
}
function createMinuteDiv() {
    if (!document.getElementById('minuteDropDown')) { var div = document.createElement('DIV'); div.className = 'monthYearPicker'; } else { var div = document.getElementById('minuteDropDown'); var subDivs = div.getElementsByTagName('DIV'); for (var no = 0; no < subDivs.length; no++) { subDivs[no].parentNode.removeChild(subDivs[no]); } }
    var startMinute = 0; var prefix = ''; for (var no = startMinute; no < 60; no += intervalSelectBox_minutes) { if (no < 10) prefix = '0'; else prefix = ''; var subDiv = document.createElement('DIV'); subDiv.innerHTML = prefix + no; subDiv.onmouseover = highlightMonthYear; subDiv.onmouseout = highlightMonthYear; subDiv.onclick = selectMinute; subDiv.id = 'minuteDiv_' + prefix + no; subDiv.onselectstart = cancelCalendarEvent; div.appendChild(subDiv); if (currentYear && currentYear == no) { subDiv.style.color = selectBoxHighlightColor; activeSelectBoxYear = subDiv; } }
    return div;
}
function highlightSelect() {
    if (this.className == 'selectBoxTime') { this.className = 'selectBoxTimeOver'; this.getElementsByTagName('IMG')[0].src = pathToImages + 'down_time_over.gif'; } else if (this.className == 'selectBoxTimeOver') { this.className = 'selectBoxTime'; this.getElementsByTagName('IMG')[0].src = pathToImages + 'down_time.gif'; }
    if (this.className == 'selectBox') { this.className = 'selectBoxOver'; this.getElementsByTagName('IMG')[0].src = pathToImages + 'down_over.gif'; } else if (this.className == 'selectBoxOver') { this.className = 'selectBox'; this.getElementsByTagName('IMG')[0].src = pathToImages + 'down.gif'; } 
}
function highlightArrow()
{ if (this.src.indexOf('over') >= 0) { if (this.src.indexOf('left') >= 0) this.src = pathToImages + 'left.gif'; if (this.src.indexOf('right') >= 0) this.src = pathToImages + 'right.gif'; } else { if (this.src.indexOf('left') >= 0) this.src = pathToImages + 'left_over.gif'; if (this.src.indexOf('right') >= 0) this.src = pathToImages + 'right_over.gif'; } }
function highlightClose()
{ if (this.src.indexOf('over') >= 0) { this.src = pathToImages + 'close.gif'; } else { this.src = pathToImages + 'close_over.gif'; } }
function closeCalendar() {
    document.getElementById('yearDropDown').style.display = 'none'; document.getElementById('monthDropDown').style.display = 'none'; document.getElementById('hourDropDown').style.display = 'none'; document.getElementById('minuteDropDown').style.display = 'none'; calendarDiv.style.display = 'none'; if (iframeObj) { iframeObj.style.display = 'none'; EIS_Hide_Frame(); }
    if (activeSelectBoxMonth) activeSelectBoxMonth.className = ''; if (activeSelectBoxYear) activeSelectBoxYear.className = '';
}
function writeTopBar() {
    var topBar = document.createElement('DIV'); topBar.className = 'topBar'; topBar.id = 'topBar'; calendarDiv.appendChild(topBar); var leftDiv = document.createElement('DIV'); leftDiv.style.marginRight = '1px'; var img = document.createElement('IMG'); img.src = pathToImages + 'left.gif'; img.onmouseover = highlightArrow; img.onclick = switchMonth; img.onmouseout = highlightArrow; leftDiv.appendChild(img); topBar.appendChild(leftDiv); if (Opera) leftDiv.style.width = '16px'; var rightDiv = document.createElement('DIV'); rightDiv.style.marginRight = '1px'; var img = document.createElement('IMG'); img.src = pathToImages + 'right.gif'; img.onclick = switchMonth; img.onmouseover = highlightArrow; img.onmouseout = highlightArrow; rightDiv.appendChild(img); if (Opera) rightDiv.style.width = '16px'; topBar.appendChild(rightDiv); var monthDiv = document.createElement('DIV'); monthDiv.id = 'monthSelect'; monthDiv.onmouseover = highlightSelect; monthDiv.onmouseout = highlightSelect; monthDiv.onclick = showMonthDropDown; var span = document.createElement('SPAN'); span.innerHTML = monthArray[currentMonth]; span.id = 'calendar_month_txt'; monthDiv.appendChild(span); var img = document.createElement('IMG'); img.src = pathToImages + 'down.gif'; img.style.position = 'absolute'; img.style.right = '0px'; monthDiv.appendChild(img); monthDiv.className = 'selectBox'; if (Opera) { img.style.cssText = 'float:right;position:relative'; img.style.position = 'relative'; img.style.styleFloat = 'right'; }
    topBar.appendChild(monthDiv); var monthPicker = createMonthDiv(); monthPicker.style.left = '37px'; monthPicker.style.top = monthDiv.offsetTop + monthDiv.offsetHeight + 1 + 'px'; monthPicker.style.width = '95px'; monthPicker.id = 'monthDropDown'; calendarDiv.appendChild(monthPicker); var yearDiv = document.createElement('DIV'); yearDiv.onmouseover = highlightSelect; yearDiv.onmouseout = highlightSelect; yearDiv.onclick = showYearDropDown; var span = document.createElement('SPAN'); span.innerHTML = currentYear; span.id = 'calendar_year_txt'; yearDiv.appendChild(span); topBar.appendChild(yearDiv); var img = document.createElement('IMG'); img.src = pathToImages + 'down.gif'; yearDiv.appendChild(img); yearDiv.className = 'selectBox'; if (Opera) { yearDiv.style.width = '50px'; img.style.cssText = 'float:right'; img.style.position = 'relative'; img.style.styleFloat = 'right'; }
    var yearPicker = createYearDiv(); yearPicker.style.left = '143px'; yearPicker.style.top = monthDiv.offsetTop + monthDiv.offsetHeight + 1 + 'px'; yearPicker.style.width = '35px'; yearPicker.id = 'yearDropDown'; calendarDiv.appendChild(yearPicker); var img = document.createElement('IMG'); img.src = pathToImages + 'close.gif'; img.style.styleFloat = 'right'; img.onmouseover = highlightClose; img.onmouseout = highlightClose; img.onclick = closeCalendar; topBar.appendChild(img); if (!document.all) { img.style.position = 'absolute'; img.style.right = '2px'; } 
}

function writeCalendarContent() {
    var calendarContentDivExists = true;
    if (!calendarContentDiv) {
        calendarContentDiv = document.createElement('DIV');
        calendarDiv.appendChild(calendarContentDiv);
        calendarContentDivExists = false;
    }
    currentMonth = currentMonth / 1;
    var d = new Date();
    d.setFullYear(currentYear);
    d.setDate(1); d.setMonth(currentMonth);
    var dayStartOfMonth = d.getDay();
    if (!weekStartsOnSunday) {
        if (dayStartOfMonth == 0) dayStartOfMonth = 7; dayStartOfMonth--;
    }
    document.getElementById('calendar_year_txt').innerHTML = currentYear;
    document.getElementById('calendar_month_txt').innerHTML = monthArray[currentMonth];
    document.getElementById('calendar_hour_txt').innerHTML = currentHour;
    document.getElementById('calendar_minute_txt').innerHTML = currentMinute;
    var existingTable = calendarContentDiv.getElementsByTagName('TABLE');
    if (existingTable.length > 0) {
        calendarContentDiv.removeChild(existingTable[0]);
    }
    var calTable = document.createElement('TABLE');
    calTable.width = '100%';
    calTable.cellSpacing = '0';
    calendarContentDiv.appendChild(calTable);
    var calTBody = document.createElement('TBODY');
    calTable.appendChild(calTBody);
    var row = calTBody.insertRow(-1);
    row.className = 'calendar_week_row';
    if (showWeekNumber) {
        var cell = row.insertCell(-1);
        cell.innerHTML = weekString;
        cell.className = 'calendar_week_column';
    }
    for (var no = 0; no < dayArray.length; no++) {
        var cell = row.insertCell(-1); cell.innerHTML = dayArray[no];
    }
    var row = calTBody.insertRow(-1);
    if (showWeekNumber) {
        var cell = row.insertCell(-1);
        cell.className = 'calendar_week_column';
        var week = getWeek(currentYear, currentMonth, 1);
        cell.innerHTML = week;
    }
    for (var no = 0; no < dayStartOfMonth; no++) {
        var cell = row.insertCell(-1); cell.innerHTML = '&nbsp;';
    }
    var colCounter = dayStartOfMonth;
    var daysInMonth = daysInMonthArray[currentMonth];
    if (daysInMonth == 28) {
        if (isLeapYear(currentYear)) daysInMonth = 29;
    }
    for (var no = 1; no <= daysInMonth; no++) {
        d.setDate(no - 1);
        if (colCounter > 0 && colCounter % 7 == 0) {
            var row = calTBody.insertRow(-1);
            if (showWeekNumber) {
                var cell = row.insertCell(-1); cell.className = 'calendar_week_column';
                var week = getWeek(currentYear, currentMonth, no); cell.innerHTML = week;
            }
        }
        var cell = row.insertCell(-1);
        if (currentYear == inputYear && currentMonth == inputMonth && no == inputDay) {
            cell.className = 'activeDay';
        }
        cell.innerHTML = no;
        cell.onclick = pickDate;

        //gioi han ngay

        //if((currentYear<inputYear) || ((currentYear == inputYear) && (currentMonth < inputMonth)) || ((currentYear == inputYear) && (currentMonth == inputMonth) && (no<inputDay)))
        //{
        // cell.className='overday';cell.onclick='';
        //}
        colCounter++;
    }
    if (!document.all) {
        if (calendarContentDiv.offsetHeight)
            document.getElementById('topBar').style.top = calendarContentDiv.offsetHeight + document.getElementById('timeBar').offsetHeight + document.getElementById('topBar').offsetHeight - 1 + 'px';
        else {
            document.getElementById('topBar').style.top = '';
            document.getElementById('topBar').style.bottom = '0px';
        }
    }
    if (iframeObj) {
        if (!calendarContentDivExists)
            setTimeout('resizeIframe()', 350);
        else setTimeout('resizeIframe()', 10);
    }
}

function initCalendar() {
    if (MSIE) {
        iframeObj = document.createElement('IFRAME');
        iframeObj.style.filter = 'alpha(opacity=0)';
        iframeObj.style.position = 'absolute';
        iframeObj.border = '0px';
        iframeObj.style.border = '0px';
        iframeObj.style.backgroundColor = '#FF0000';
        iframeObj2 = document.createElement('IFRAME');
        iframeObj2.style.position = 'absolute';
        iframeObj2.border = '0px';
        iframeObj2.style.border = '0px';
        iframeObj2.style.height = '1px';
        iframeObj2.style.width = '1px';
        iframeObj2.src = '#';
        iframeObj.src = '#';
        document.body.appendChild(iframeObj2);
        document.body.appendChild(iframeObj);
    }
    calendarDiv = document.createElement('DIV');
    calendarDiv.id = 'calendarDiv';
    calendarDiv.style.zIndex = 1000;
    slideCalendarSelectBox();
    document.body.appendChild(calendarDiv);
    writeBottomBar();
    writeTopBar();
    if (!currentYear) {
        var d = new Date();
        currentMonth = d.getMonth();
        currentYear = d.getFullYear();
    }
    writeCalendarContent();
}


function displayCalendar(inputField, format, buttonObj, displayTime, timeInput, textBox) {
    textboxId = textBox;

    if (displayTime)
        calendarDisplayTime = true;
    else
        calendarDisplayTime = false;
    if (inputField.value.length > 6) {
        if (!inputField.value.match(/^[0-9]*?$/gi)) {
            var items = inputField.value.split(/[^0-9]/gi);
            var positionArray = new Object();
            positionArray.m = format.indexOf('mm');
            if (positionArray.m == -1)
                positionArray.m = format.indexOf('m');
            positionArray.d = format.indexOf('dd');
            if (positionArray.d == -1)
                positionArray.d = format.indexOf('d');
            positionArray.y = format.indexOf('yyyy');
            positionArray.h = format.indexOf('hh');
            positionArray.i = format.indexOf('ii');
            this.initialHour = '00';
            this.initialMinute = '00';
            var elements = ['y', 'm', 'd', 'h', 'i'];
            var properties = ['currentYear', 'currentMonth', 'inputDay', 'currentHour', 'currentMinute'];
            var propertyLength = [4, 2, 2, 2, 2];
            for (var i = 0; i < elements.length; i++) {
                if (positionArray[elements[i]] >= 0) {
                    window[properties[i]] = inputField.value.substr(positionArray[elements[i]], propertyLength[i]) / 1;
                }
            }
            currentMonth--;
        }
        else {
            var monthPos = format.indexOf('mm');
            currentMonth = inputField.value.substr(monthPos, 2) / 1 - 1;
            var yearPos = format.indexOf('yyyy');
            currentYear = inputField.value.substr(yearPos, 4);
            var dayPos = format.indexOf('dd');
            tmpDay = inputField.value.substr(dayPos, 2);
            var hourPos = format.indexOf('hh');
            if (hourPos >= 0) {
                tmpHour = inputField.value.substr(hourPos, 2); currentHour = tmpHour;
            }
            else {
                currentHour = '00';
            }
            var minutePos = format.indexOf('ii');
            if (minutePos >= 0) {
                tmpMinute = inputField.value.substr(minutePos, 2);
                currentMinute = tmpMinute;
            }
            else {
                currentMinute = '00';
            }
        }
    }
    else {
        var d = new Date();
        currentMonth = d.getMonth();
        currentYear = d.getFullYear();
        currentHour = '08';
        currentMinute = '00';
        inputDay = d.getDate() / 1;
    }

    inputYear = currentYear;
    inputMonth = currentMonth;

    if (!calendarDiv) {
        initCalendar();
    }
    else {
        if (calendarDiv.style.display == 'block') {
            closeCalendar();
            return false;
        }
        writeCalendarContent();
    }
    returnFormat = format;
    returnDateTo = inputField;
    positionCalendar(buttonObj);
    calendarDiv.style.visibility = 'visible';
    calendarDiv.style.display = 'block';
    if (iframeObj) {
        iframeObj.style.display = '';
        iframeObj.style.height = '140px';
        iframeObj.style.width = '195px';
        iframeObj2.style.display = '';
        iframeObj2.style.height = '140px';
        iframeObj2.style.width = '195px';
    }
    setTimeProperties();
    updateYearDiv();
    updateMonthDiv();
    updateMinuteDiv();
    updateHourDiv();
}
function displayCalendarSelectBox(yearInput, monthInput, dayInput, hourInput, minuteInput, buttonObj) {
    if (!hourInput)
        calendarDisplayTime = false;
    else
        calendarDisplayTime = true;
    currentMonth = monthInput.options[monthInput.selectedIndex].value / 1 - 1;
    currentYear = yearInput.options[yearInput.selectedIndex].value;
    if (hourInput) {
        currentHour = hourInput.options[hourInput.selectedIndex].value; inputHour = currentHour / 1;
    }
    if (minuteInput) {
        currentMinute = minuteInput.options[minuteInput.selectedIndex].value; inputMinute = currentMinute / 1;
    }
    inputYear = yearInput.options[yearInput.selectedIndex].value;
    inputMonth = monthInput.options[monthInput.selectedIndex].value / 1 - 1;
    inputDay = dayInput.options[dayInput.selectedIndex].value / 1;
    if (!calendarDiv) {
        initCalendar();
    }
    else {
        writeCalendarContent();
    }
    returnDateToYear = yearInput;
    returnDateToMonth = monthInput;
    returnDateToDay = dayInput;
    returnDateToHour = hourInput;
    returnDateToMinute = minuteInput;
    returnFormat = false;
    returnDateTo = false;
    positionCalendar(buttonObj);
    calendarDiv.style.visibility = 'visible';
    calendarDiv.style.display = 'block';
    if (iframeObj) {
        iframeObj.style.display = '';
        iframeObj.style.height =
        calendarDiv.offsetHeight + 'px';
        iframeObj.style.width = calendarDiv.offsetWidth + 'px';
        iframeObj2.style.display = '';
        iframeObj2.style.height = calendarDiv.offsetHeight + 'px';
        iframeObj2.style.width = calendarDiv.offsetWidth + 'px'
    }
    setTimeProperties(); updateYearDiv(); updateMonthDiv(); updateHourDiv(); updateMinuteDiv();
}
function resizeIframe()
{ iframeObj.style.width = calendarDiv.offsetWidth + 'px'; iframeObj.style.height = calendarDiv.offsetHeight + 'px'; }
function pickTodaysDate()
{ var d = new Date(); currentMonth = d.getMonth(); currentYear = d.getFullYear(); pickDate(false, d.getDate()); }
function pickDate(e, inputDay) {
    var month = currentMonth / 1 + 1;
    if (month < 10)
        month = '0' + month;
    var day;
    if (!inputDay && this)
        day = this.innerHTML;
    else
        day = inputDay;
    if (day / 1 < 10) day = '0' + day;
    if (returnFormat) {
        returnFormat = returnFormat.replace('dd', day);
        returnFormat = returnFormat.replace('mm', month);
        returnFormat = returnFormat.replace('yyyy', currentYear);
        if (typeof (currentHour) != "undefined") {
            if (currentHour.toString().length < 2)
                returnFormat = returnFormat.replace('hh', "0" + currentHour);
            else
                returnFormat = returnFormat.replace('hh', currentHour);
        }
        if (typeof (currentMinute) != "undefined") {
            if (currentMinute.toString().length < 2)
                returnFormat = returnFormat.replace('ii', "0" + currentMinute);
            else
                returnFormat = returnFormat.replace('ii', currentMinute);
        }
        returnFormat = returnFormat.replace('d', day / 1);
        returnFormat = returnFormat.replace('m', month / 1);
        try {
            returnDateTo.onchange();
        }
        catch (e)
        { }
    }
    else {
        for (var no = 0; no < returnDateToYear.options.length; no++) {
            if (returnDateToYear.options[no].value == currentYear) {
                returnDateToYear.selectedIndex = no; break;
            }
        }
        for (var no = 0; no < returnDateToMonth.options.length; no++) {
            if (returnDateToMonth.options[no].value == parseInt(month)) {
                returnDateToMonth.selectedIndex = no; break;
            }
        }
        for (var no = 0; no < returnDateToDay.options.length; no++) {
            if (returnDateToDay.options[no].value == parseInt(day)) {
                returnDateToDay.selectedIndex = no; break;
            }
        }
        if (calendarDisplayTime) {
            for (var no = 0; no < returnDateToHour.options.length; no++) {
                if (returnDateToHour.options[no].value == parseInt(currentHour)) {
                    returnDateToHour.selectedIndex = no; break;
                }
            }
            for (var no = 0; no < returnDateToMinute.options.length; no++) {
                if (returnDateToMinute.options[no].value == parseInt(currentMinute)) {
                    returnDateToMinute.selectedIndex = no; break;
                }
            }
        }
    }
    closeCalendar();
    var zone = document.getElementById('hidZoneID');
    var parentZone = document.getElementById('hidParentZoneID');
    document.getElementById(textboxId).value = returnFormat;
    //location.href="/"+parentZone.value+"d"+zone.value+"/"+returnFormat+".htm";
}
function getWeek(year, month, day) {
    if (!weekStartsOnSunday) {
        day = (day / 1);
    }
    else {
        day = (day / 1) + 1;
    }
    year = year / 1; month = month / 1 + 1;
    var a = Math.floor((14 - (month)) / 12);
    var y = year + 4800 - a;
    var m = (month) + (12 * a) - 3;
    var jd = day + Math.floor(((153 * m) + 2) / 5) + (365 * y) + Math.floor(y / 4) - Math.floor(y / 100) + Math.floor(y / 400) - 32045;
    var d4 = (jd + 31741 - (jd % 7)) % 146097 % 36524 % 1461;
    var L = Math.floor(d4 / 1460);
    var d1 = ((d4 - L) % 365) + L; NumberOfWeek = Math.floor(d1 / 7) + 1;
    return NumberOfWeek;
}

function writeTimeBar() {
    var timeBar = document.createElement('DIV'); timeBar.id = 'timeBar'; timeBar.className = 'timeBar'; var subDiv = document.createElement('DIV'); subDiv.innerHTML = 'Time:'; var hourDiv = document.createElement('DIV'); hourDiv.onmouseover = highlightSelect; hourDiv.onmouseout = highlightSelect; hourDiv.onclick = showHourDropDown; hourDiv.style.width = '30px'; var span = document.createElement('SPAN'); span.innerHTML = currentHour; span.id = 'calendar_hour_txt'; hourDiv.appendChild(span); timeBar.appendChild(hourDiv); var img = document.createElement('IMG'); img.src = pathToImages + 'down_time.gif'; hourDiv.appendChild(img); hourDiv.className = 'selectBoxTime'; if (Opera) { hourDiv.style.width = '30px'; img.style.cssText = 'float:right'; img.style.position = 'relative'; img.style.styleFloat = 'right'; }
    var hourPicker = createHourDiv(); hourPicker.style.left = '130px'; hourPicker.style.width = '35px'; hourPicker.id = 'hourDropDown'; calendarDiv.appendChild(hourPicker); var minuteDiv = document.createElement('DIV'); minuteDiv.onmouseover = highlightSelect; minuteDiv.onmouseout = highlightSelect; minuteDiv.onclick = showMinuteDropDown; minuteDiv.style.width = '30px'; var span = document.createElement('SPAN'); span.innerHTML = currentMinute; span.id = 'calendar_minute_txt'; minuteDiv.appendChild(span); timeBar.appendChild(minuteDiv); var img = document.createElement('IMG'); img.src = pathToImages + 'down_time.gif'; minuteDiv.appendChild(img); minuteDiv.className = 'selectBoxTime'; if (Opera) { minuteDiv.style.width = '30px'; img.style.cssText = 'float:right'; img.style.position = 'relative'; img.style.styleFloat = 'right'; }
    var minutePicker = createMinuteDiv(); minutePicker.style.left = '167px'; minutePicker.style.width = '35px'; minutePicker.id = 'minuteDropDown'; calendarDiv.appendChild(minutePicker); return timeBar;
}
function writeBottomBar() {
    var d = new Date(); var bottomBar = document.createElement('DIV'); bottomBar.id = 'bottomBar'; bottomBar.style.cursor = 'pointer'; bottomBar.className = 'todaysDate'; var subDiv = document.createElement('DIV'); subDiv.onclick = pickTodaysDate; subDiv.id = 'todaysDateString'; subDiv.style.width = (calendarDiv.offsetWidth - 95) + 'px'; var day = d.getDay(); if (!weekStartsOnSunday) { if (day == 0) day = 7; day--; }
    var bottomString = todayStringFormat; bottomString = bottomString.replace('[monthString]', monthArrayShort[d.getMonth()]); bottomString = bottomString.replace('[day]', d.getDate()); bottomString = bottomString.replace('[year]', d.getFullYear()); bottomString = bottomString.replace('[dayString]', dayArray[day].toLowerCase()); bottomString = bottomString.replace('[UCFdayString]', dayArray[day]); bottomString = bottomString.replace('[todayString]', todayString); subDiv.innerHTML = todayString + ': ' + d.getDate() + '. ' + monthArrayShort[d.getMonth()] + ', ' + d.getFullYear(); subDiv.innerHTML = bottomString; bottomBar.appendChild(subDiv); var timeDiv = writeTimeBar(); bottomBar.appendChild(timeDiv); calendarDiv.appendChild(bottomBar);
}
function getTopPos(inputObj)
{ var returnValue = inputObj.offsetTop + inputObj.offsetHeight; while ((inputObj = inputObj.offsetParent) != null) returnValue += inputObj.offsetTop; return returnValue + calendar_offsetTop; }
function getleftPos(inputObj)
{ var returnValue = inputObj.offsetLeft; while ((inputObj = inputObj.offsetParent) != null) returnValue += inputObj.offsetLeft; return returnValue + calendar_offsetLeft; }
function positionCalendar(inputObj)
{ calendarDiv.style.left = getleftPos(inputObj) + 'px'; calendarDiv.style.top = getTopPos(inputObj) + 'px'; if (iframeObj) { iframeObj.style.left = calendarDiv.style.left; iframeObj.style.top = calendarDiv.style.top; iframeObj2.style.left = calendarDiv.style.left; iframeObj2.style.top = calendarDiv.style.top; } }
function initCalendar() {
    if (MSIE) { iframeObj = document.createElement('IFRAME'); iframeObj.style.filter = 'alpha(opacity=0)'; iframeObj.style.position = 'absolute'; iframeObj.border = '0px'; iframeObj.style.border = '0px'; iframeObj.style.backgroundColor = '#FF0000'; iframeObj2 = document.createElement('IFRAME'); iframeObj2.style.position = 'absolute'; iframeObj2.border = '0px'; iframeObj2.style.border = '0px'; iframeObj2.style.height = '1px'; iframeObj2.style.width = '1px'; iframeObj2.src = '#'; iframeObj.src = '#'; document.body.appendChild(iframeObj2); document.body.appendChild(iframeObj); }
    calendarDiv = document.createElement('DIV'); calendarDiv.id = 'calendarDiv'; calendarDiv.style.zIndex = 1000; slideCalendarSelectBox(); document.body.appendChild(calendarDiv); writeBottomBar(); writeTopBar(); if (!currentYear) { var d = new Date(); currentMonth = d.getMonth(); currentYear = d.getFullYear(); }
    writeCalendarContent();
}
function setTimeProperties()
{ if (!calendarDisplayTime) { document.getElementById('timeBar').style.display = 'none'; document.getElementById('timeBar').style.visibility = 'hidden'; document.getElementById('todaysDateString').style.width = '100%'; } else { document.getElementById('timeBar').style.display = 'block'; document.getElementById('timeBar').style.visibility = 'visible'; document.getElementById('hourDropDown').style.top = document.getElementById('calendar_minute_txt').parentNode.offsetHeight + calendarContentDiv.offsetHeight + document.getElementById('topBar').offsetHeight + 'px'; document.getElementById('minuteDropDown').style.top = document.getElementById('calendar_minute_txt').parentNode.offsetHeight + calendarContentDiv.offsetHeight + document.getElementById('topBar').offsetHeight + 'px'; document.getElementById('minuteDropDown').style.right = '50px'; document.getElementById('hourDropDown').style.right = '50px'; document.getElementById('todaysDateString').style.width = '115px'; } }
function calendarSortItems(a, b)
{ return a / 1 - b / 1; }
function openWindow(link, name, heigh, width) {
    window.open(link, name, 'height=' + heigh + 'px, width=' + width + 'px, resizable=no, toolbar=no, scrollbars=yes, location=no');
}
function checkDateRange(idFrom, idTo) {
    var from = document.getElementById(idFrom).value.split("/");
    var to = document.getElementById(idTo).value.split("/");
    //alert(from);
    var dtDate1 = new Date(to[2], to[1] - 1, to[0]);
    var dtDate2 = new Date(from[2], from[1] - 1, from[0]);
    //alert(dtDate1);
    var datediff = dtDate1.getTime() - dtDate2.getTime(); //store the getTime diff - or +
    var day = datediff / (24 * 60 * 60 * 1000); //Convert values to -/+ days and return value   
    //alert(day);
    if (day > 30) {
        alert("Please select date range in 30 days");
        return false;
    }
    return true;
}

function GetValueFromChild(myVal, myAdd, id) {
    if (id == "ll1") {
        document.getElementById('LatLon').value = myVal;
    } else if (id == "ll2") {
        document.getElementById('TowLatLon').value = myVal;
    }

    if (id == "ll1") {
        document.getElementById('Address').value = myAdd;
    } else if (id == "ll2") {
        document.getElementById('TowAddress').value = myAdd;
    }
}

function openWindow(link, name, heigh, width, id1, id2, id3) {
    var txt1 = document.getElementById(id1);
    var txt2 = document.getElementById(id2);
    var txt3 = document.getElementById(id3);
    var value1 = "";
    if (txt1 != null && txt1 != null && txt1 != null) {
        value1 = txt1.value + ", " + txt2.value;
        if (txt3.value != "") value1 = value1 + ", " + txt3.value
        value1 = value1.replace(", ,", ",");
        if (value1.substring(0, 0) == ",") value1 = value1.substring(1);
    }
    window.open(link + value1, name, 'height=' + heigh + 'px, width=' + width + 'px, resizable=no, toolbar=no, scrollbars=yes, location=no');
}

